package code.example.base.collection.map;

import code.example.tool.LogFactory;

import java.util.EnumMap;
import java.util.HashMap;
import java.util.Map;
import java.util.function.BiConsumer;

/**
 *  EnumMap 以枚举为key的Map ,只能是一个枚举类的实例 。内部以数组为保存，因为枚举实例个数确定的。
 *  以枚举实例的.ordinal方法返回值为数组下标。
 *
 *   枚举的ordinal方法返回int，是这个枚举实例定义时的顺序，第一个实例的ordinal ==0,以后顺序+
 *
 */
public class TestEnumMap {

    int x = 0;
    public void test(){
        Map<SeasonEnum,String> map = new EnumMap (SeasonEnum.class);
        map.put(SeasonEnum.SPRING,"W");
        map.put(SeasonEnum.SUMMER,"X");
        map.put(SeasonEnum.AUTUMN,"Y");
        map.put(SeasonEnum.WINTER,"Z");

        map.forEach(new BiConsumer<SeasonEnum, String>() {
            @Override
            public void accept(SeasonEnum key, String  value) {
                LogFactory.getLog().info("key:"+key+",value:"+value);
            }
        });
    }
    public static void main(String args []){
        new TestEnumMap().test();
    }
}
